package com.raising.sc.upload.file.client;

import com.raising.sc.upload.file.client.entity.FileEntity;
import com.raising.sc.core.util.common.FileConvertUtil;
import com.raising.sc.core.util.common.UUIDUtils;
import org.apache.commons.lang3.time.DateFormatUtils;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.util.Date;

/**
 * 上传byte格式数据
 * @author GaoYuan
 * @date 2018/4/10 上午11:30
 */
public class UploadWithByteClient {

    public static void main(String[] args) throws Exception{
        UploadWithByteClient.upload("http://127.0.0.1:10009/file/upload", FileConvertUtil.inputStreamToByte(new FileInputStream(new File("/Users/gy/Downloads/cxyy.png"))), DateFormatUtils.format(new Date(), "yyyyMMdd") + File.separator + UUIDUtils.getUUIDNoCross() + ".png");
    }

    /**
     * 上传 file 数组文件数据
     * @param url 上传接口
     * @param bytes 文件字节流
     * @param filename 文件名称可以是 单纯的文件名称 比如 name.png
     *                 也可以是带目录结构的文件 比如 floder1/floder2/cxyy.png
     *       DateFormatUtils.format(new Date(), "yyyyMMdd")
     *       UUID.randomUUID()
     */
    public static FileEntity upload(String url, byte[] bytes, String filename) {
        return UploadWithStreamClient.upload(url,new ByteArrayInputStream(bytes),filename);
    }
}
